package com.qfedu.yuxiaoer.entity;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TenantExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TenantExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andOwnerIdIsNull() {
            addCriterion("owner_id is null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdIsNotNull() {
            addCriterion("owner_id is not null");
            return (Criteria) this;
        }

        public Criteria andOwnerIdEqualTo(Integer value) {
            addCriterion("owner_id =", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotEqualTo(Integer value) {
            addCriterion("owner_id <>", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdGreaterThan(Integer value) {
            addCriterion("owner_id >", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("owner_id >=", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdLessThan(Integer value) {
            addCriterion("owner_id <", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdLessThanOrEqualTo(Integer value) {
            addCriterion("owner_id <=", value, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdIn(List<Integer> values) {
            addCriterion("owner_id in", values, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotIn(List<Integer> values) {
            addCriterion("owner_id not in", values, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdBetween(Integer value1, Integer value2) {
            addCriterion("owner_id between", value1, value2, "ownerId");
            return (Criteria) this;
        }

        public Criteria andOwnerIdNotBetween(Integer value1, Integer value2) {
            addCriterion("owner_id not between", value1, value2, "ownerId");
            return (Criteria) this;
        }

        public Criteria andTenantNameIsNull() {
            addCriterion("tenant_name is null");
            return (Criteria) this;
        }

        public Criteria andTenantNameIsNotNull() {
            addCriterion("tenant_name is not null");
            return (Criteria) this;
        }

        public Criteria andTenantNameEqualTo(String value) {
            addCriterion("tenant_name =", value, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameNotEqualTo(String value) {
            addCriterion("tenant_name <>", value, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameGreaterThan(String value) {
            addCriterion("tenant_name >", value, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameGreaterThanOrEqualTo(String value) {
            addCriterion("tenant_name >=", value, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameLessThan(String value) {
            addCriterion("tenant_name <", value, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameLessThanOrEqualTo(String value) {
            addCriterion("tenant_name <=", value, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameLike(String value) {
            addCriterion("tenant_name like", value, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameNotLike(String value) {
            addCriterion("tenant_name not like", value, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameIn(List<String> values) {
            addCriterion("tenant_name in", values, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameNotIn(List<String> values) {
            addCriterion("tenant_name not in", values, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameBetween(String value1, String value2) {
            addCriterion("tenant_name between", value1, value2, "tenantName");
            return (Criteria) this;
        }

        public Criteria andTenantNameNotBetween(String value1, String value2) {
            addCriterion("tenant_name not between", value1, value2, "tenantName");
            return (Criteria) this;
        }

        public Criteria andPhoneIsNull() {
            addCriterion("phone is null");
            return (Criteria) this;
        }

        public Criteria andPhoneIsNotNull() {
            addCriterion("phone is not null");
            return (Criteria) this;
        }

        public Criteria andPhoneEqualTo(String value) {
            addCriterion("phone =", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotEqualTo(String value) {
            addCriterion("phone <>", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneGreaterThan(String value) {
            addCriterion("phone >", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("phone >=", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLessThan(String value) {
            addCriterion("phone <", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLessThanOrEqualTo(String value) {
            addCriterion("phone <=", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneLike(String value) {
            addCriterion("phone like", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotLike(String value) {
            addCriterion("phone not like", value, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneIn(List<String> values) {
            addCriterion("phone in", values, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotIn(List<String> values) {
            addCriterion("phone not in", values, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneBetween(String value1, String value2) {
            addCriterion("phone between", value1, value2, "phone");
            return (Criteria) this;
        }

        public Criteria andPhoneNotBetween(String value1, String value2) {
            addCriterion("phone not between", value1, value2, "phone");
            return (Criteria) this;
        }

        public Criteria andQqWeixinIsNull() {
            addCriterion("qq_weixin is null");
            return (Criteria) this;
        }

        public Criteria andQqWeixinIsNotNull() {
            addCriterion("qq_weixin is not null");
            return (Criteria) this;
        }

        public Criteria andQqWeixinEqualTo(String value) {
            addCriterion("qq_weixin =", value, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinNotEqualTo(String value) {
            addCriterion("qq_weixin <>", value, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinGreaterThan(String value) {
            addCriterion("qq_weixin >", value, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinGreaterThanOrEqualTo(String value) {
            addCriterion("qq_weixin >=", value, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinLessThan(String value) {
            addCriterion("qq_weixin <", value, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinLessThanOrEqualTo(String value) {
            addCriterion("qq_weixin <=", value, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinLike(String value) {
            addCriterion("qq_weixin like", value, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinNotLike(String value) {
            addCriterion("qq_weixin not like", value, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinIn(List<String> values) {
            addCriterion("qq_weixin in", values, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinNotIn(List<String> values) {
            addCriterion("qq_weixin not in", values, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinBetween(String value1, String value2) {
            addCriterion("qq_weixin between", value1, value2, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andQqWeixinNotBetween(String value1, String value2) {
            addCriterion("qq_weixin not between", value1, value2, "qqWeixin");
            return (Criteria) this;
        }

        public Criteria andRentMinIsNull() {
            addCriterion("rent_min is null");
            return (Criteria) this;
        }

        public Criteria andRentMinIsNotNull() {
            addCriterion("rent_min is not null");
            return (Criteria) this;
        }

        public Criteria andRentMinEqualTo(BigDecimal value) {
            addCriterion("rent_min =", value, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinNotEqualTo(BigDecimal value) {
            addCriterion("rent_min <>", value, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinGreaterThan(BigDecimal value) {
            addCriterion("rent_min >", value, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("rent_min >=", value, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinLessThan(BigDecimal value) {
            addCriterion("rent_min <", value, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinLessThanOrEqualTo(BigDecimal value) {
            addCriterion("rent_min <=", value, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinIn(List<BigDecimal> values) {
            addCriterion("rent_min in", values, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinNotIn(List<BigDecimal> values) {
            addCriterion("rent_min not in", values, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("rent_min between", value1, value2, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMinNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("rent_min not between", value1, value2, "rentMin");
            return (Criteria) this;
        }

        public Criteria andRentMaxIsNull() {
            addCriterion("rent_max is null");
            return (Criteria) this;
        }

        public Criteria andRentMaxIsNotNull() {
            addCriterion("rent_max is not null");
            return (Criteria) this;
        }

        public Criteria andRentMaxEqualTo(BigDecimal value) {
            addCriterion("rent_max =", value, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxNotEqualTo(BigDecimal value) {
            addCriterion("rent_max <>", value, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxGreaterThan(BigDecimal value) {
            addCriterion("rent_max >", value, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("rent_max >=", value, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxLessThan(BigDecimal value) {
            addCriterion("rent_max <", value, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxLessThanOrEqualTo(BigDecimal value) {
            addCriterion("rent_max <=", value, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxIn(List<BigDecimal> values) {
            addCriterion("rent_max in", values, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxNotIn(List<BigDecimal> values) {
            addCriterion("rent_max not in", values, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("rent_max between", value1, value2, "rentMax");
            return (Criteria) this;
        }

        public Criteria andRentMaxNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("rent_max not between", value1, value2, "rentMax");
            return (Criteria) this;
        }

        public Criteria andAddressNeedIsNull() {
            addCriterion("address_need is null");
            return (Criteria) this;
        }

        public Criteria andAddressNeedIsNotNull() {
            addCriterion("address_need is not null");
            return (Criteria) this;
        }

        public Criteria andAddressNeedEqualTo(String value) {
            addCriterion("address_need =", value, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedNotEqualTo(String value) {
            addCriterion("address_need <>", value, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedGreaterThan(String value) {
            addCriterion("address_need >", value, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedGreaterThanOrEqualTo(String value) {
            addCriterion("address_need >=", value, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedLessThan(String value) {
            addCriterion("address_need <", value, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedLessThanOrEqualTo(String value) {
            addCriterion("address_need <=", value, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedLike(String value) {
            addCriterion("address_need like", value, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedNotLike(String value) {
            addCriterion("address_need not like", value, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedIn(List<String> values) {
            addCriterion("address_need in", values, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedNotIn(List<String> values) {
            addCriterion("address_need not in", values, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedBetween(String value1, String value2) {
            addCriterion("address_need between", value1, value2, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andAddressNeedNotBetween(String value1, String value2) {
            addCriterion("address_need not between", value1, value2, "addressNeed");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationIsNull() {
            addCriterion("tenancy_duration is null");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationIsNotNull() {
            addCriterion("tenancy_duration is not null");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationEqualTo(Integer value) {
            addCriterion("tenancy_duration =", value, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationNotEqualTo(Integer value) {
            addCriterion("tenancy_duration <>", value, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationGreaterThan(Integer value) {
            addCriterion("tenancy_duration >", value, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationGreaterThanOrEqualTo(Integer value) {
            addCriterion("tenancy_duration >=", value, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationLessThan(Integer value) {
            addCriterion("tenancy_duration <", value, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationLessThanOrEqualTo(Integer value) {
            addCriterion("tenancy_duration <=", value, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationIn(List<Integer> values) {
            addCriterion("tenancy_duration in", values, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationNotIn(List<Integer> values) {
            addCriterion("tenancy_duration not in", values, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationBetween(Integer value1, Integer value2) {
            addCriterion("tenancy_duration between", value1, value2, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andTenancyDurationNotBetween(Integer value1, Integer value2) {
            addCriterion("tenancy_duration not between", value1, value2, "tenancyDuration");
            return (Criteria) this;
        }

        public Criteria andEntryTimeIsNull() {
            addCriterion("entry_time is null");
            return (Criteria) this;
        }

        public Criteria andEntryTimeIsNotNull() {
            addCriterion("entry_time is not null");
            return (Criteria) this;
        }

        public Criteria andEntryTimeEqualTo(Date value) {
            addCriterion("entry_time =", value, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeNotEqualTo(Date value) {
            addCriterion("entry_time <>", value, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeGreaterThan(Date value) {
            addCriterion("entry_time >", value, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("entry_time >=", value, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeLessThan(Date value) {
            addCriterion("entry_time <", value, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeLessThanOrEqualTo(Date value) {
            addCriterion("entry_time <=", value, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeIn(List<Date> values) {
            addCriterion("entry_time in", values, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeNotIn(List<Date> values) {
            addCriterion("entry_time not in", values, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeBetween(Date value1, Date value2) {
            addCriterion("entry_time between", value1, value2, "entryTime");
            return (Criteria) this;
        }

        public Criteria andEntryTimeNotBetween(Date value1, Date value2) {
            addCriterion("entry_time not between", value1, value2, "entryTime");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdIsNull() {
            addCriterion("tenant_house_type_need_id is null");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdIsNotNull() {
            addCriterion("tenant_house_type_need_id is not null");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdEqualTo(Integer value) {
            addCriterion("tenant_house_type_need_id =", value, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdNotEqualTo(Integer value) {
            addCriterion("tenant_house_type_need_id <>", value, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdGreaterThan(Integer value) {
            addCriterion("tenant_house_type_need_id >", value, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("tenant_house_type_need_id >=", value, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdLessThan(Integer value) {
            addCriterion("tenant_house_type_need_id <", value, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdLessThanOrEqualTo(Integer value) {
            addCriterion("tenant_house_type_need_id <=", value, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdIn(List<Integer> values) {
            addCriterion("tenant_house_type_need_id in", values, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdNotIn(List<Integer> values) {
            addCriterion("tenant_house_type_need_id not in", values, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdBetween(Integer value1, Integer value2) {
            addCriterion("tenant_house_type_need_id between", value1, value2, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantHouseTypeNeedIdNotBetween(Integer value1, Integer value2) {
            addCriterion("tenant_house_type_need_id not between", value1, value2, "tenantHouseTypeNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdIsNull() {
            addCriterion("tenant_other_need_id is null");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdIsNotNull() {
            addCriterion("tenant_other_need_id is not null");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdEqualTo(Integer value) {
            addCriterion("tenant_other_need_id =", value, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdNotEqualTo(Integer value) {
            addCriterion("tenant_other_need_id <>", value, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdGreaterThan(Integer value) {
            addCriterion("tenant_other_need_id >", value, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("tenant_other_need_id >=", value, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdLessThan(Integer value) {
            addCriterion("tenant_other_need_id <", value, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdLessThanOrEqualTo(Integer value) {
            addCriterion("tenant_other_need_id <=", value, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdIn(List<Integer> values) {
            addCriterion("tenant_other_need_id in", values, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdNotIn(List<Integer> values) {
            addCriterion("tenant_other_need_id not in", values, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdBetween(Integer value1, Integer value2) {
            addCriterion("tenant_other_need_id between", value1, value2, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andTenantOtherNeedIdNotBetween(Integer value1, Integer value2) {
            addCriterion("tenant_other_need_id not between", value1, value2, "tenantOtherNeedId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeIsNull() {
            addCriterion("customer_source_type is null");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeIsNotNull() {
            addCriterion("customer_source_type is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeEqualTo(Integer value) {
            addCriterion("customer_source_type =", value, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeNotEqualTo(Integer value) {
            addCriterion("customer_source_type <>", value, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeGreaterThan(Integer value) {
            addCriterion("customer_source_type >", value, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("customer_source_type >=", value, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeLessThan(Integer value) {
            addCriterion("customer_source_type <", value, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeLessThanOrEqualTo(Integer value) {
            addCriterion("customer_source_type <=", value, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeIn(List<Integer> values) {
            addCriterion("customer_source_type in", values, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeNotIn(List<Integer> values) {
            addCriterion("customer_source_type not in", values, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeBetween(Integer value1, Integer value2) {
            addCriterion("customer_source_type between", value1, value2, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("customer_source_type not between", value1, value2, "customerSourceType");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdIsNull() {
            addCriterion("customer_source_id is null");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdIsNotNull() {
            addCriterion("customer_source_id is not null");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdEqualTo(Integer value) {
            addCriterion("customer_source_id =", value, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdNotEqualTo(Integer value) {
            addCriterion("customer_source_id <>", value, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdGreaterThan(Integer value) {
            addCriterion("customer_source_id >", value, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("customer_source_id >=", value, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdLessThan(Integer value) {
            addCriterion("customer_source_id <", value, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdLessThanOrEqualTo(Integer value) {
            addCriterion("customer_source_id <=", value, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdIn(List<Integer> values) {
            addCriterion("customer_source_id in", values, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdNotIn(List<Integer> values) {
            addCriterion("customer_source_id not in", values, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdBetween(Integer value1, Integer value2) {
            addCriterion("customer_source_id between", value1, value2, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andCustomerSourceIdNotBetween(Integer value1, Integer value2) {
            addCriterion("customer_source_id not between", value1, value2, "customerSourceId");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelIsNull() {
            addCriterion("urgency_level is null");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelIsNotNull() {
            addCriterion("urgency_level is not null");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelEqualTo(Integer value) {
            addCriterion("urgency_level =", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelNotEqualTo(Integer value) {
            addCriterion("urgency_level <>", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelGreaterThan(Integer value) {
            addCriterion("urgency_level >", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("urgency_level >=", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelLessThan(Integer value) {
            addCriterion("urgency_level <", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelLessThanOrEqualTo(Integer value) {
            addCriterion("urgency_level <=", value, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelIn(List<Integer> values) {
            addCriterion("urgency_level in", values, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelNotIn(List<Integer> values) {
            addCriterion("urgency_level not in", values, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelBetween(Integer value1, Integer value2) {
            addCriterion("urgency_level between", value1, value2, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andUrgencyLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("urgency_level not between", value1, value2, "urgencyLevel");
            return (Criteria) this;
        }

        public Criteria andAttributeIdIsNull() {
            addCriterion("attribute_id is null");
            return (Criteria) this;
        }

        public Criteria andAttributeIdIsNotNull() {
            addCriterion("attribute_id is not null");
            return (Criteria) this;
        }

        public Criteria andAttributeIdEqualTo(Integer value) {
            addCriterion("attribute_id =", value, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdNotEqualTo(Integer value) {
            addCriterion("attribute_id <>", value, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdGreaterThan(Integer value) {
            addCriterion("attribute_id >", value, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("attribute_id >=", value, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdLessThan(Integer value) {
            addCriterion("attribute_id <", value, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdLessThanOrEqualTo(Integer value) {
            addCriterion("attribute_id <=", value, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdIn(List<Integer> values) {
            addCriterion("attribute_id in", values, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdNotIn(List<Integer> values) {
            addCriterion("attribute_id not in", values, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdBetween(Integer value1, Integer value2) {
            addCriterion("attribute_id between", value1, value2, "attributeId");
            return (Criteria) this;
        }

        public Criteria andAttributeIdNotBetween(Integer value1, Integer value2) {
            addCriterion("attribute_id not between", value1, value2, "attributeId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}